pub fn convert_base(num_str: &str, to_base: u32) -> String {
    // 自动检测输入的进制
    if let Some((number, from_base_str)) = num_str.rsplit_once('(') {
        if let Some(from_base_str) = from_base_str.strip_suffix(')') {
            if let Ok(from_base) = from_base_str.parse::<u32>() {
                // 将输入的字符串解析为指定进制的数值
                if let Ok(decimal_value) = u32::from_str_radix(number, from_base) {
                    // 将 10 进制的数值转换为目标进制的字符串
                    return to_base_n(decimal_value, to_base);
                }
            }
        }
    }
    // 返回空字符串表示输入格式不正确或转换失败
    String::new()
}

// 辅助函数：将 10 进制数转换为目标进制
fn to_base_n(mut decimal_value: u32, base: u32) -> String {
    let mut result = String::new();
    let digits = "0123456789abcdef"; // 用于表示 0-15 的字符
    
    while decimal_value > 0 {
        let remainder = (decimal_value % base) as usize;
        result.insert(0, digits.chars().nth(remainder).unwrap());
        decimal_value /= base;
    }
    
    // 如果结果为空，则表示输入为0，返回 "0"
    if result.is_empty() {
        result.push('0');
    }
    
    result
}
